package com.br.funcionario;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class FuncionarioUtil {

	public Date formataData(String dataTemp) {
		if (dataTemp == null || dataTemp.equals("")) {
			return null;
		} else {
			Date date = null;
			try {
				DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
				date = (Date) dateFormat.parse(dataTemp);

			} catch (Exception e) {
				System.out.println("deu erro!!");
			}

			return date;
		}
	}

	public double calcularDiferencaDeDiasEntreDatas(Date datainicial,
			Date dataFinal) {

		double diferencaDeDias = 0;
		if (0 < datainicial.compareTo(dataFinal)) {
			System.out.println("data inicial maior que data final");
			return 0;
		}

		if (0 > datainicial.compareTo(dataFinal)) {

			long diferenca = dataFinal.getTime() - datainicial.getTime();
			
			double difencaEmDias = (diferenca / 1000) / 60 / 60 / 24;

			long horasRestantes = (diferenca / 1000) / 60 / 60 % 24;

			return diferencaDeDias = difencaEmDias + (horasRestantes / 24d);
		}

		else {
			return 0;
		}

	}

}
